package parkshop.pmcourse.utils;

import java.io.File;

import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * 文件操作工具类
 */
public class FileTools {

	//public static final String basePath="E:\\uploadFiles\\";
	//public static final String basePath="/home/parknshop/image/";
	@Autowired
	private PathUtil pathUtil;
	
	/*
	 * 根据文件后缀和系统时间生成文件名称
	 */
	public static String getFileName(String suffix){
		return String.valueOf(System.currentTimeMillis() + "." +suffix);
    	
	}
	/*
	 *  根据文件名称获取文件的路径,不含文件名称
	 */
	public static String getFilePath(String suffix){
		
		String path= PathUtil.getUploadFilePath()+File.separatorChar+getSuffix(suffix);
		File dir=new File(path);
		if (!dir.exists()) {
			dir.mkdirs();
		}
		return path;
	}
	
	
	
    /**
     * 获取文件后缀
     */
    public   static String getSuffix(String fileName){
        String[] token = fileName.split("\\.");
        if (token.length>0){
            return token[token.length-1];
        }
        else {
            return "";
        }
    }
    public static boolean isLinuxPath(String path){
        return path.contains("/");
    }
    /*
     * 根据文件的绝对路径名称获取文件名
     */
    public static String getNameByAbsFileName(String fileName){
    	String[] strs=fileName.split("\\"+File.separatorChar);
    	
    	if(strs!=null&&strs.length>0)
    		return strs[strs.length-1];
    	return null;
    }
/*    @Test
    public void test(){
    	String path="E:\\uploadFile\\aa.txt";
    	System.out.println("------> "+getNameByAbsFileName(path));
    	System.out.println("------> "+removeDot(path));
    }
    */
    /*
     * 从浏览器传递过来的图片无法显示   '.'  以后的后缀名称,所以用此方法替换字符
     */
    public static String removeDot(String fileName){
    	
    	fileName=fileName.replace('.', '-');
    	return fileName;
    }
    public static String recoverDot(String fileName){
    	fileName=fileName.replace('-', '.');
    	return fileName;
    }
    
}
